/*
 * ******************************************************************************
 *   Copyright (c) 2013-2014 Gabriele Mariotti.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *  *****************************************************************************
 */

package it.gmariotti.cardslib.demo.fragment.v1;

import it.gmariotti.cardslib.demo.ResourceTable;
import it.gmariotti.cardslib.library.Constants;
import it.gmariotti.cardslib.library.internal.Card;
import it.gmariotti.cardslib.library.internal.CardHeader;
import it.gmariotti.cardslib.library.view.CardView;
import ohos.aafwk.content.Intent;
import ohos.agp.components.ScrollView;
import ohos.hiviewdfx.HiLog;

/**
 * Card Shadow Examples
 *
 * @author Gabriele Mariotti (gabri.mariotti@gmail.com)
 */
public class ShadowFragment extends MaterialV1Fragment {

    protected ScrollView mScrollView;

    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        setUIContent(ResourceTable.Layout_demo_fragment_shadow);
        mScrollView = (ScrollView) this.findComponentById(ResourceTable.Id_card_scrollview);

        initCards();
    }

    @Override
    protected int getSubTitleHeaderResourceId() {
        return ResourceTable.String_header_title_cardshadowsubtitle;
    }

    @Override
    protected int getTitleHeaderResourceId() {
        return ResourceTable.String_header_title_group1;
    }

    @Override
    protected String getDocUrl() {
        return "";
    }

    @Override
    protected String getSourceUrl() {
        return "";
    }

    private void initCards() {
        init_card_without_shadow();
        init_card_custom_shadow_layout();
    }

    /**
     * This method builds a card without shadow
     */
    private void init_card_without_shadow() {

        //Create a Card
        Card card = new Card(this);

        //Create a CardHeader
        CardHeader header = new CardHeader(this);

        //Set the header title
        try {
            header.setTitle(getResourceManager().getElement(ResourceTable.String_demo_header_basetitle).getString());
        } catch (Exception e) {
            HiLog.error(Constants.LABEL_LOG, e.toString());
        }

        card.addCardHeader(header);

        //Hidden shadow
        card.setShadow(false);

        //Set card in the cardView
        CardView cardView = (CardView) this.findComponentById(ResourceTable.Id_carddemo_shadow_no);
        cardView.setCard(card);
    }


    /**
     * This methods builds a card with a custom shadow layout (compound view)
     * <b>WARNING</b>
     * See https://github.com/gabrielemariotti/cardslib/tree/master/SHADOW.md for more information.
     * You can quickly modify your shadow with your style and drawable files without modifying shadow layout.
     */
    private void init_card_custom_shadow_layout() {

        //Create a Card
        Card card = new Card(this);

        //Create a CardHeader
        CardHeader header = new CardHeader(this);

        //Set the header title
        try {
            header.setTitle(getResourceManager().getElement(ResourceTable.String_demo_header_basetitle).getString());
        } catch (Exception e) {
            HiLog.error(Constants.LABEL_LOG, e.toString());
        }

        card.addCardHeader(header);

        //Set card in the cardView
        CardView cardView = (CardView) this.findComponentById(ResourceTable.Id_carddemo_shadow_layout);
        cardView.setCard(card);
    }


}
